Creating and managing test environments for complex, distributed systems requires extensive computing resources, monetary resources, and time. Proper testing of a system under test (SUT) requires the development and maintenance of multiple test scenarios, e.g., test cases, in parallel. To support this parallelism in the test environment, the SUT is replicated, with each replicated version of the SUT implementing a specific and different test case. Each replicated SUT must satisfy a variety of different requirements ranging from hardware requirements, to software requirements, to licensing requirements.
Simulation components have been used within SUT(s) as a means of avoiding some of the aforementioned complexities. For example, a simulation component can be used within an SUT to replace a given component of the SUT by simulating the behavior of the replaced component. In this manner, the simulation component helps to avoid test environment replication. Simulation components also allow test personnel to verify interactions between components while forcing components to exhibit specific behavior needed for the test cases to be exercised.